home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d18
/
ddutil12.arc
/
DDUTILS.DOC
next >
Wrap
Text File
|
1990-08-22
|
6KB
|
173 lines
DDUTILS v1.20 (08/23/1990)
By John Richardson & Dan Vanderboom
A Product of TopSoft Software
This program is placed in to The Public Domain on
August 20, 1990, by John Richardson
===============================================================================
If there are any questions, you may contact us at:
TopSoft Software
2135 Possum Ct.
Brookfield, Wi 53045
(414) 796-8408 - Data 12/24
===============================================================================
Disclaimer
==========
You are using this program at your own risk. Neither the authors nor
TopSoft Support Systems is responsible for any damages as a result of
use, misuse, or failure to perform on the part of this program.
What is DDUTILS?
================
DDUtils is a small Turbo Pascal unit designed for DoubleDOS applications.
This should improve your programs to have a DoubleDOS awareness so you
know when to use direct screen writes, etc.
It contains 14 procedures/functions pertaining to DoubleDOS.
How to use DDUTILS
==================
The following 16 procedures/functions are described below:
==============================================================================
Function DDActive:Boolean;
DDActive returns TRUE when DoubleDOS is active.
==============================================================================
Function Invisible:Boolean;
Invisible returns TRUE if the caller is in the invisible parition.
==============================================================================
Procedure Task_On;
Turns the tasking switch on.
==============================================================================
Procedure Task_Off;
Turns the tasking switch off.
==============================================================================
Procedure Give_Time(Amount:Integer);
Give up time under DoubleDOS. Amount is the amount of 55msec time slices
that are given away. This routine should be used in delays/loops.
==============================================================================
Procedure Switch;
This procedure exchanges visible and invisible tasking status.
==============================================================================
Procedure Resume_Invisible;
This procedure resumes an invisible job if it has been suspended
==============================================================================
Procedure Kill_Other_Job;
This procedure will kill the other job in the other paritition.
==============================================================================
Procedure Suspend_Invisible;
This will suspend the invisible job.
==============================================================================
Procedure Clear_KeyBoard_Buffer;
This call will reset the keyoboard buffer to empty for the calling program
only. This call does not clear the standard input buffer if it is not the
keyboard.
==============================================================================
Function Send_Char(Ch:Char):Boolean;
Send ascii character (ch) to the other keyboard buffer. This call allows
a program to give keyboard input to another program, or to start another
program in the other memory section. Send_Char will return true if transfer
is sucessful, otherwise it will return false. Keyboard buffers will hold
128 characters max.
==============================================================================
Function Program_Status:Integer;
Return the current program status:
If Program_Status = 1 Then Current Program is Visible
If Program_Status = 2 Then Current Program is Invisibile
If Program_Status = 3 Then Current Program is Suspended
==============================================================================
Function Task_Number:Integer;
Returns what parition you are currently in.
If Task_Number = 0 Then You are in the top paritition
If Task_Number = 1 Then You are in the bottom partition
==============================================================================
Function Other_Status:Integer;
Return other program status.
If Other_Status = 0 Then No program is running
If Other_Status = 1 Then Program is running
If Other_Status = 2 Then Program is suspended
==============================================================================
Procedure Time_Sharing(Num:Integer);
If Num = 0 then Visible program gets 70% invisible gets 30% (default)
If Num = 1 then Visible program gets 50% invisible gets 50% of time
If Num = 2 then Visible program gets 30% invisible gets 70% of time
If Num = 3 then Top program gets 70% bottom program gets 30% of time
If Num = 4 then Top program gets 30% bottom program gets 70% of time
==============================================================================
Function Current_TimeShare:Integer;
This function tells you what the current priority of timesharing is set to.
You can set timesharing priorities by using the Time_Sharing function.
The following numbers are what this function will return.
0 = Visible program gets 70% invisible gets 30% (default)
1 = Visible program gets 50% invisible gets 50% of time
2 = Visible program gets 30% invisible gets 70% of time
3 = Top program gets 70% bottom program gets 30% of time
4 = Top program gets 30% bottom program gets 70% of time
==============================================================================
This source code will compile under Borland's Turbo Pascal 5 or 5.5,
Copyright (C) 1987, 1989 Borland International, Inc.
If you feel truthful, and would like to donate $5.00, please do. The
address is at the top of this document. Also, when using these routines
please give me some credit in your final documents. It is not necessary,
but it would be nice.